#coding:utf-8
import pandas as pd
import csv
import re
import numpy as np
import pymysql
from datetime import datetime
#读取文件
#读取文件
# douchao=pd.read_excel(r'G:\工作\2025年订单\10月\抖超.xlsx',dtype={'货品ID':str})


maochao=pd.read_excel(r'G:\工作\2025年订单\10月\猫超.xlsx')
ziying1=pd.read_excel(r'G:\工作\2025年订单\10月\自营1.xlsx')
ziying2=pd.read_excel(r'G:\工作\2025年订单\10月\自营2.xlsx')
pp=pd.read_excel(r'G:\工作\猫超+自营SKU编码.xlsx',dtype={'SKU':str})
#print(pp)
# douchao['退款成功金额']=0
# douchao['平台']='抖音超市'
# douchao['月']=douchao['日期'].map(lambda x : str(x)[0:8])
# douchao_date=douchao.loc[:,['月','货品ID','支付货品件数','支付GMV','退款成功金额','支付货品件数','平台','货品名']] #无退款
# douchao_date.columns=['日期','SKU','销售单量','销售额','退款金额','成交商品件数','平台','产品名称']

maochao['商品数量']=maochao['支付商品件数']-maochao['退款成功商品件数']
maochao['平台']='猫超'
maochao['月']=maochao['统计日期'].map(lambda x : str(x)[0:8])
maochao_date=maochao.loc[:,['月','商品ID','支付子订单数(剔退款)','支付金额(剔退款)','退款成功金额','商品数量','平台']]
maochao_date.columns=['日期','SKU','销售单量','销售额','退款金额','成交商品件数','平台']
#ziying=pd.concat([ziying1,ziying2])
ziying1['退款成功金额']=0
ziying1['平台']='京东自营1'
ziying1_date=ziying1.loc[:,['时间','SKU','成交单量','成交金额','退款成功金额','成交商品件数','平台'] ]
ziying1_date.columns=['日期','SKU','销售单量','销售额','退款金额','成交商品件数','平台']

ziying2['退款成功金额']=0
ziying2['平台']='京东自营2'
ziying2_date=ziying2.loc[:,['时间','SKU','成交单量','成交金额','退款成功金额','成交商品件数','平台'] ]
ziying2_date.columns=['日期','SKU','销售单量','销售额','退款金额','成交商品件数','平台']

res=pd.concat([maochao_date,ziying1_date,ziying2_date])

#['商家编码']去空格
res['SKU']=res['SKU'].astype(str).str.strip()
res_m=pd.merge(res,pp,on=['SKU'],how='left')

# result=pd.concat([res_m,douchao_date])
result=res_m
# ...（之前的代码保持不变）...

result['月份']='25年10月'  #更改月份
#result['月份']='10月'  #更改月份
result=result.loc[:,['平台','月份','日期','SKU','产品名称','销售额','成交商品件数','退款金额','销售单量']]

# 将 NaN 值替换为 None，以便 MySQL 可以正确处理
result = result.where(pd.notnull(result), None)

db = pymysql.connect(host="localhost", user="root", password="hui123456", db='dbtest')
# 使用cursor()方法创建一个游标对象cursor

cursor = db.cursor()
sqll=('insert into mc_day values (%s,%s,%s,%s,%s,%s,%s,%s,%s)')

for val in result.values:
    cursor.execute(sqll,tuple(val))

db.commit()
db.close()
